package com.cyys.modules.system.model.user;


import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.cyys.common.utils.LoggerUtil;
import com.cyys.common.utils.StringUtil;
import com.cyys.common.validate.Edit;
import com.cyys.common.validate.Insert;
import com.cyys.modules.core.model.TreeBean;
import com.cyys.modules.core.sysParam.OrgUtil;
import com.cyys.modules.core.sysParam.ParamBasicUtil;
import com.cyys.modules.core.sysParam.ParamConstants;
import com.cyys.modules.system.model.org.Org;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;

import javax.validation.constraints.NotBlank;


/**
 * User generated by hbm2java
 */
@Data
@TableName("sys_menu")
public class Menu extends TreeBean {


	@NotBlank(message = "菜单名称不能为空",groups = {Edit.class, Insert.class})
	private String name;      //菜单名称

	@TableField(whereStrategy=FieldStrategy.NOT_NULL,updateStrategy=FieldStrategy.NOT_NULL)
	private String href;    //访问地址

	@TableField(whereStrategy=FieldStrategy.NOT_NULL,updateStrategy=FieldStrategy.NOT_NULL)
	private String icon;    //图标
	
	private String isShow;  //是否显示

	private String shiro;  //权限

	private String type; //菜单类型 1、系统菜单；2、开发者，只有id=1的用户才能查询

	private String mode; //显示方式1、顶部菜单；2、左边菜单；3、按钮

	@JsonIgnore
	public String getIsShowName(){
		if(StringUtil.isNotBlank(isShow)){
			return ParamBasicUtil.getParamBasicTypeMap().get(ParamConstants.IS_SHOW).get(isShow);
		}
		return "";
	}

	@JsonIgnore
	public String getTypeName(){
		if(StringUtil.isNotBlank(type)){
			return ParamBasicUtil.getParamBasicTypeMap().get(ParamConstants.MENU_TYPE).get(type);
		}
		return "";
	}

	@JsonIgnore
	public String getModeName(){
		if(StringUtil.isNotBlank(mode)){
			return ParamBasicUtil.getParamBasicTypeMap().get(ParamConstants.MENU_MODE).get(mode);
		}
		return "";
	}
}
